/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package BusinessTier;

import DataTier.EmpresaDAO;
import EntitiesTier.ClEmpresa;
import java.io.IOException;
import java.util.List;

/**
 *
 * @author Douglas
 */
public class EmpresaBUS 
{
    public List<ClEmpresa> listar() throws Exception
    {
        try
        {
            EmpresaDAO dao = new EmpresaDAO();
            return dao.todos();
        }
        catch(IOException  e)
        {
            System.err.println("Erro: " + e.getMessage());
            return null;
        }    
    }
    
    public int inserir(ClEmpresa obj) throws Exception
    {
        try
        {
            if(valida_adicao(obj))
            {
                EmpresaDAO dao = new EmpresaDAO();
                obj.setEMP_COD(dao.incluir(obj));
            }
        }
        catch(IOException  e)
        {
            System.err.println("Erro: " + e.getMessage());
        }
        finally
        {
           return obj.getEMP_COD();
        }
    }
    
    public void atualizar(ClEmpresa obj) throws Exception
    {
        try
        {
            if(valida_adicao(obj))
            {
                EmpresaDAO dao = new EmpresaDAO();
                dao.atualizar(obj);            
            }
        }
        catch(IOException  e)
        {
            System.err.println("Erro: " + e.getMessage());
        }
    }
    
    public ClEmpresa buscar(int cod_emp) throws Exception
    {
        try
        {
            EmpresaDAO dao = new EmpresaDAO();
            return dao.procurar(cod_emp);
        }
        catch(IOException  e)
        {
            System.err.println("Erro: " + e.getMessage());
            return null;
        }
    }
    
    public ClEmpresa buscar(String emp_razao) throws Exception
    {
        try
        {
            EmpresaDAO dao = new EmpresaDAO();
            return dao.procurar(emp_razao);
        }
        catch(IOException  e)
        {
            System.err.println("Erro: " + e.getMessage());
            return null;
        }    
    }
    
    public void excluir(int cod_emp) throws Exception
    {
        try
        {
            EmpresaDAO dao = new EmpresaDAO();
            dao.excluir(cod_emp);
        }
        catch(IOException  e)
        {
            throw new Exception("Erro: " + e.getMessage());
        }
    }
    
    public boolean valida_adicao(ClEmpresa obj) throws Exception
    {
       /* if(obj.getEMP_CNPJ()== "" || obj.getEMP_CNPJ()== null)
        {
            throw new Exception("Deve preencher o CNPJ.");
        }

        if(obj.getEMP_RAZAO() == null || obj.getEMP_RAZAO() == "")
        {
            throw new Exception("Deve preencher a Razão da Empresa.");
        }

        if(obj.getEMP_IE() == "" || obj.getEMP_IE() == null)
        {
            throw new Exception("Deve preencher o I.E da Empresa");
        }*/
        return true;
    }  
}
